package it.enrico.mangamania.inventario.client;

import java.io.Serializable;
import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.persistence.Id;
import javax.persistence.Transient;

import com.googlecode.objectify.annotation.Cached;

@Cached
@PersistenceCapable
public class Fumetto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	@Id	private Long id;
	
	@Persistent
	private String nome;

	public String getNome() {
		if (nome==null)
		{
		return "";
		}
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Persistent
	private String barcode;
	
	public String getBarcode() {
		if (barcode==null)
		{
			return "";
		}
		return barcode;
	}

	public void setBarcode(String barcode) {
		this.barcode = barcode;
	}

	@Persistent
	private String codice;

	@Persistent
	private String edizioni;

	@Persistent
	private String descrizione;

	@Persistent
	private Double prezzo;

	@Persistent
	private Date dataInserimento;

	@Persistent
	private Date dataUltimaModifica;

	@Persistent
	private String categoria;
	
	@Persistent
	private Long quantitaAcquistata;
	
	@Persistent
	private Long quantitaVenduta;
	
	@Transient
	public long getRimanenti()
	{
		return  quantitaAcquistata-quantitaVenduta;
	}
	

	
	public Long getQuantitaAcquistata() {
		if (quantitaAcquistata==null)
			return 0L;
		return quantitaAcquistata;
	}

	public void setQuantitaAcquistata(Long quantitaAcquistata) {
		this.quantitaAcquistata = quantitaAcquistata;
	}

	public Long getQuantitaVenduta() {
		if (quantitaVenduta==null)
			return 0L;
		return quantitaVenduta;
	}

	public void setQuantitaVenduta(Long quantitaVenduta) {
		this.quantitaVenduta = quantitaVenduta;
	}

	public Fumetto()
	{}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public Date getDataInserimento() {
		return dataInserimento;
	}

	public void setDataInserimento(Date dataInserimento) {
		this.dataInserimento = dataInserimento;
	}

	public Date getDataUltimaModifica() {
		return dataUltimaModifica;
	}

	public void setDataUltimaModifica(Date dataUltimaModifica) {
		this.dataUltimaModifica = dataUltimaModifica;
	}

	public Long getId()
	{
		return id;
	}
	
	public String getCodice() {
		return codice;
	}

	public void setCodice(String codice) {
		this.codice = codice;
	}

	public String getEdizioni() {
		return edizioni;
	}

	public void setEdizioni(String edizioni) {
		this.edizioni = edizioni;
	}

	public String getDescrizione() {
		return descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	public Double getPrezzo() {
		return prezzo;
	}

	public void setPrezzo(Double prezzo) {
		this.prezzo = prezzo;
	}

}
